import axios from 'axios'
import {serverUrl } from '@/utils/common'

// 创建axios实例
const request = axios.create({
  baseURL:'/api' ,
  timeout: 10000
})

// 请求拦截器 - 绑定到request实例上
request.interceptors.request.use(
  (config) => {
    // 从sessionStorage获取用户信息
    const userStr = sessionStorage.getItem('user')
    if (userStr) {
      try {
        const user = JSON.parse(userStr)
        if (user.token) {
          config.headers.Authorization = `Bearer ${user.token}`
        }
      } catch (e) {
        console.error('解析用户信息失败', e)
      }
    }
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)

// 响应拦截器 - 绑定到request实例上
request.interceptors.response.use(
  (response) => {
    // 直接返回data，简化后续处理
    return response.data
  },
  (error) => {
    // 可以在这里统一处理错误
    if (error.response) {
      switch (error.response.status) {
        case 401:
          console.error('未授权，请重新登录')
          // 可以在这里跳转到登录页
          break
        case 403:
          console.error('拒绝访问')
          break
        case 404:
          console.error('请求资源不存在')
          break
        default:
          console.error('请求错误', error.response.status)
      }
    }
    return Promise.reject(error)
  }
)

export default request